# Prompt: 生成一个python 脚本批量重命名文件，文件名命名成原始名称加上时间hash值，原始文件名和时间hash值用下划线链接。
#

import os
import time
import hashlib

def generate_time_hash():
    """生成基于当前时间的时间戳哈希值"""
    timestamp = str(time.time_ns())
    return hashlib.md5(timestamp.encode('utf-8')).hexdigest()[:8]

def rename_file(old_filename):
    """
    重命名单个文件，添加时间哈希值到文件名后。
    
    参数:
    old_filename -- 原始文件名
    
    返回:
    新文件名
    """
    # 分离文件名和扩展名
    base_name, ext = os.path.splitext(old_filename)
    # 生成时间哈希值
    time_hash = generate_time_hash()
    # 构建新文件名
    new_filename = f"{base_name}_{time_hash}{ext}"
    return new_filename

def batch_rename(directory):
    """
    批量重命名指定目录下的所有文件。
    
    参数:
    directory -- 需要处理的目录路径
    """
    for filename in os.listdir(directory):
        if os.path.isfile(os.path.join(directory, filename)):
            new_filename = rename_file(filename)
            print(f"Renaming '{filename}' to '{new_filename}'")
            os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))

# 主程序入口
if __name__ == "__main__":
    target_directory = input("请输入要处理的目录路径: ")
    batch_rename(target_directory)